#ifndef __QUE_STRUCT_TYPE_H__
#define __QUE_STRUCT_TYPE_H__

#include <stdio.h>
#include <stdint.h>
#include <stdbool.h>

#if 0
typedef enum
{
    enmTypeU08=0,
    enmTypeU16=1,
    enmTypeU32=2,
    enmTypeLaserCpu=3,
    enmTypeUnDef=2,
}enmTypeQue;
#endif

#if 1
//typedef struct typeQueue
typedef struct __attribute__ ((packed)) typeQueue
{
    //def_PT pt_buf;
    //uint16_t count;
    int16_t front;
    int16_t rear;
    //enmTypeQue nenm;
    uint16_t nsize;
    uint16_t countMax;
    void* pData;

    void (*push_back)(struct typeQueue *q, void* e);
    bool (*pop_front)(struct typeQueue *q, void* e);

    bool (*get_index)(struct typeQueue *q,uint16_t i,void* v);
    int (*length)(struct typeQueue *q);

}__attribute__((__packed__)) defTypeQue; //__attribute__ ((packed)) typeQueue;
#endif

defTypeQue* getRtcQuePt(void);
//int getRtcMaxCount(void);

#endif

